www.gusucode.com > DuomiCms多米影视管理系统php源程序 v1.21源码程序 > DuomiCms V1.21 UTF-8 20151109/upload/duomiphp/crons/automakehtml.php
<?php if(!defined('duomi_INC')) { exit("Request Error!"); } @set_time_limit(0); if(!class_exists("MainClass_Template")) require_once(duomi_INC.'/core.class.php'); //清理缓存 autocache_clear(duomi_ROOT.'/data/cache'); //生成首页 makeIndex(); //生成地图页,默认关闭,如果想开启,去掉前面的//即可 //makeAllmovie(); //生成自定义页面 $flag = 1 ; automakeallcustom(); //生成百度地图,默认关闭,如果想开启,去掉前面的//即可 //makeBaidu(); //生成百度结构化数据,默认关闭,如果想开启,去掉前面的//即可 //makeBaidux(); //生成google地图,默认关闭,如果想开启,去掉前面的//即可 //makeGoogle(); //生成rss页面,默认关闭,如果想开启,去掉前面的//即可 //makeRss(); //如果是静态运行 if($cfg_runmode=='0'){ //生成今日更新内容 automakeDay(); //生成专辑首页,默认关闭,如果想开启,去掉前面的//即可 //automakeTopicIndex(); //生成专辑页,默认关闭,如果想开启,去掉前面的//即可 //automakeAllTopic(); } function automakeDay() { global $dsql; $today_start = mktime(0,0,0,date('m'),date('d'),date('Y')); $today_end = mktime(0,0,0,date('m'),date('d')+1,date('Y')); $wheresql = " and `v_addtime` BETWEEN '{$today_start}' AND '{$today_end}'"; $pagesize=100; if(!$pCount){ $rowc=$dsql->GetOne("SELECT count(*) as dd FROM `duomi_data` WHERE `v_wrong`=0 ".$wheresql); $totalnum = $rowc['dd']; if($totalnum==0) return false; $TotalPage = ceil($totalnum/$pagesize); }else{ $TotalPage = $pCount; } $sql="select v_id from duomi_data where v_wrong=0 $wheresql"; $dsql->SetQuery($sql); $dsql->Execute('makeDay'); while($row=$dsql->GetObject('makeDay')) { makeContentById($row->v_id); } $ids=""; $sqlt="SELECT tid from duomi_data where v_wrong=0 ".$wheresql." GROUP BY tid"; $dsql->SetQuery($sqlt); $dsql->Execute('makeDayt'); while($rowt=$dsql->GetObject('makeDayt')) { if(!isTypeHide($rowt->tid)){ if(empty($ids)) $ids=$rowt->tid; else $ids.=",".$rowt->tid; } } if(!empty($ids)){ $tl=getTypeListsOnCache(); foreach($tl as $vv){ if (strpos(" ,".$ids.",",",".$vv->tid.",")>0){ if ($vv->upid>0 && strpos(" ,".$ids.",",",".$vv->tid.",")==0) $ids=$vv->tid.",".$ids; } } } if(!empty($ids)){ automakeChannelByIDS($ids); return true; } } function automakeChannelByIDS($ids) { $typeIdArray = array(); $typeIdArray = explode(",",$ids); foreach($typeIdArray as $typeId) { automakeChannelById($typeId); } } function automakeChannelById($typeId) { global $dsql,$cfg_iscache,$mainClassObj; $typeId = empty($typeId) ? 0 : intval($typeId); $channelTmpName=getTypeTemplateOnCache($typeId); $channelTmpName=empty($channelTmpName) ? "channel.html" : $channelTmpName; $channelTemplatePath = "/duomiui/".$GLOBALS['cfg_df_style']."/".$GLOBALS['cfg_df_html']."/".$channelTmpName; $pSize = getPageSizeOnCache($channelTemplatePath,"channel",$channelTmpName); if (empty($pSize)) $pSize=12; $typeIds = getTypeIdOnCache($typeId); $typename=getTypeNameOnCache($typeId); //echoBegin($typename,"channel"); $sql="select count(*) as dd from duomi_data where tid in (".$typeIds.")"; $row = $dsql->GetOne($sql); if(is_array($row)) { $TotalResult = $row['dd']; } else { $TotalResult = 0; } $pagesize = $pSize; $pCount = ceil($TotalResult/$pSize); $currentTypeId = $typeId; $cacheName = "parse_channel_".$currentTypeId; if($cfg_iscache){ if(chkFileCache($cacheName)){ $content = getFileCache($cacheName); }else{ $content = parseCachePart("channel",$channelTemplatePath,$currentTypeId); $content = str_replace("{channelpage:typename}",$typename,$content); setFileCache($cacheName,$content); } }else{ $content = parseCachePart("channel",$channelTemplatePath,$currentTypeId); $content = str_replace("{channelpage:typename}",$typename,$content); } $content=str_replace("{duomicms:member}",front_member(),$content); $content = str_replace("{channelpage:order-hit-link}",$cfg_basehost."/search.php?page=1&searchtype=5&order=hit&tid=".$typeId,$content); $content = str_replace("{channelpage:order-hitasc-link}",$cfg_basehost."/search.php?page=1&searchtype=5&order=hitasc&tid=".$typeId,$content); $content = str_replace("{channelpage:order-id-link}",$cfg_basehost."/search.php?page=1&searchtype=5&order=id&tid=".$typeId,$content); $content = str_replace("{channelpage:order-idasc-link}",$cfg_basehost."/search.php?page=1&searchtype=5&order=idasc&tid=".$typeId,$content); $content = str_replace("{channelpage:order-time-link}",$cfg_basehost."/search.php?page=1&searchtype=5&order=time&tid=".$typeId,$content); $content = str_replace("{channelpage:order-timeasc-link}",$cfg_basehost."/search.php?page=1&searchtype=5&order=timeasc&tid=".$typeId,$content); $content = str_replace("{channelpage:order-commend-link}",$cfg_basehost."/search.php?page=1&searchtype=5&order=commend&tid=".$typeId,$content); $content = str_replace("{channelpage:order-commendasc-link}",$cfg_basehost."/search.php?page=1&searchtype=5&order=commendasc&tid=".$typeId,$content); $content = str_replace("{channelpage:order-score-link}",$cfg_basehost."/search.php?page=1&searchtype=5&order=score&tid=".$typeId,$content); $content = str_replace("{channelpage:order-scoreasc-link}",$cfg_basehost."/search.php?page=1&searchtype=5&order=scoreasc&tid=".$typeId,$content); $tempStr = $content; if (isTypeHide($typeId)){ return true; } if($TotalResult == 0){ $channelLink=str_replace($GLOBALS['cfg_cmspath'],"",getChannelPagesLink($currentTypeId,1)); $tempStr = str_replace("{channelpage:page}",1,$tempStr); $content=$tempStr; $content=$mainClassObj->ParsePageList($content,$typeIds,1,$pCount,$TotalResult,"channel",$currentTypeId); $content=$mainClassObj->parseIf($content); createTextFile($content,duomi_ROOT.$channelLink); } for($i=1;$i<=$pCount;$i++){ $channelLink=str_replace($GLOBALS['cfg_cmspath'],"",getChannelPagesLink($currentTypeId,$i)); $tempStr2 = str_replace("{channelpage:page}",$i,$tempStr); $content=$tempStr2; $content=$mainClassObj->ParsePageList($content,$typeIds,$i,$pCount,$TotalResult,"channel",$currentTypeId); $content=$mainClassObj->parseIf($content); createTextFile($content,duomi_ROOT.$channelLink); } } function automakeTopicIndex() { global $mainClassObj, $dsql; $row = $dsql->GetOne("select template from duomi_topic"); $templatePath="/duomiui/".$GLOBALS['cfg_df_style']."/".$GLOBALS['cfg_df_html']."/topicindex.html"; $rowc=$dsql->GetOne("select count(*) as dd from duomi_topic"); $page_size = getPageSizeOnCache($templatePath,"topicindex",$row['template']); if (empty($page_size)) $page_size=12; if(is_array($rowc)) { $TotalResult = $rowc['dd']; } else { $TotalResult = 0; } $pCount=ceil($TotalResult/$page_size); $content=loadFile(duomi_ROOT.$templatePath); $content=$mainClassObj->parseTopAndFoot($content); $content=$mainClassObj->parseHistory($content); $content=$mainClassObj->parseSelf($content); $content=$mainClassObj->parseGlobal($content); $content=$mainClassObj->parseMenuList($content,""); $content=$mainClassObj->parduomireaList($content); $content=$mainClassObj->parseVideoList($content); $content=$mainClassObj->parseLinkList($content); $content=replaceCurrentTypeId($content,-444); $content=str_replace("{duomicms:member}",front_member(),$content); $tempStr = $content; for($i=1;$i<=$pCount;$i++) { $content=$tempStr; $content=$mainClassObj->parseTopicIndexList($content,$i); $content=$mainClassObj->parseIf($content); if($i==1)$topicindexname=duomi_ROOT."/".$GLOBALS['cfg_album_name']."/index".$GLOBALS['cfg_filesuffix2']; else $topicindexname=duomi_ROOT."/".$GLOBALS['cfg_album_name']."/index".$i.$GLOBALS['cfg_filesuffix2']; createTextFile($content,$topicindexname); } } function automakeAllTopic() { global $dsql; $dsql->SetQuery("select id from duomi_topic order by sort asc"); $dsql->Execute('altopic'); while($rowr=$dsql->GetObject('altopic')) { $rows[]=$rowr; } unset($rowr); if(!is_array($rows)) return false; foreach($rows as $row){ automakeTopicById($row->id); } } function automakeTopicById($topicId) { global $dsql,$cfg_iscache,$mainClassObj; $sql="select id,name,template,enname from duomi_topic where id =".$topicId; $row = $dsql->GetOne($sql); if(!is_array($row)) return FALSE; $rowc=$dsql->GetOne("select count(*) as dd from duomi_data where v_topic=".$topicId); $topicTemplatePath="/duomiui/".$GLOBALS['cfg_df_style']."/".$GLOBALS['cfg_df_html']."/".$row['template']; $cacheName="parse_topic_".$topicId; $page_size = getPageSizeOnCache($topicTemplatePath,"topicpage",$row['template']); if (empty($page_size)) $page_size=12; if(is_array($rowc)) { $TotalResult = $rowc['dd']; } else { $TotalResult = 0; } $pCount = ceil($TotalResult/$page_size); $topicName=$row['name']; $topicEnname=$row['enname']; $currentTopicId = $row['id']; $currrent_topic_id=$row['id']; if($cfg_iscache){ if(chkFileCache($cacheName)){ $content = getFileCache($cacheName); }else{ $content = parseCachePart("topic",$topicTemplatePath); $content = str_replace("{duomicms:topicname}",$topicName,$content); $content = str_replace("{duomicms:currrent_topic_id}",$currrent_topic_id,$content); setFileCache($cacheName,$content); } }else{ $content = parseCachePart("topic",$topicTemplatePath); $content = str_replace("{duomicms:topicname}",$topicName,$content); $content = str_replace("{duomicms:currrent_topic_id}",$currrent_topic_id,$content); } $content=str_replace("{duomicms:member}",front_member(),$content); $mystr = $content; if($TotalResult == 0){ $content=$mystr; $content=$mainClassObj->ParsePageList($content,$topicId,1,$pCount,$TotalResult,"topicpage",$currrent_topic_id); $content=$mainClassObj->parseIf($content); $topiclink=duomi_ROOT.str_replace($GLOBALS['cfg_cmspath'],"",getTopicLink($topicEnname,1)); createTextFile($content,$topiclink); }else{ for($i=1;$i<=$pCount;$i++){ $content =$mystr; $content=$mainClassObj->ParsePageList($content,$topicId,$i,$pCount,$TotalResult,"topicpage",$currrent_topic_id); $content=$mainClassObj->parseIf($content); $topiclink=duomi_ROOT.str_replace($GLOBALS['cfg_cmspath'],"",getTopicLink($topicEnname,$i)); createTextFile($content,$topiclink); } } } function autoparseCachePart($pageType,$templatePath,$currentTypeId="-444") { global $mainClassObj; switch ($pageType) { case "channel": $content=loadFile(duomi_ROOT.$templatePath); $content=$mainClassObj->parseTopAndFoot($content); $content=$mainClassObj->parseSelf($content); $content=$mainClassObj->parseHistory($content); $content=$mainClassObj->parseGlobal($content); $content=$mainClassObj->parseMenuList($content,"",$currentTypeId); $content=$mainClassObj->parduomireaList($content); $content=$mainClassObj->parseVideoList($content,$currentTypeId); $content=$mainClassObj->parseTopicList($content); $content = str_replace("{channelpage:typetext}",getTypeText($currentTypeId),$content); $content = str_replace("{duomicms:currenttypeid}",$currentTypeId,$content); break; case "newspage": $content=loadFile(duomi_ROOT.$templatePath); $content=$mainClassObj->parseTopAndFoot($content); $content=$mainClassObj->parseHistory($content); $content=$mainClassObj->parseSelf($content); $content=$mainClassObj->parseGlobal($content); $content=$mainClassObj->parseMenuList($content,"",$currentTypeId); $content=$mainClassObj->parduomireaList($content); $content=$mainClassObj->parseVideoList($content,$currentTypeId); $content=$mainClassObj->parseNewsList($content,$currentTypeId); $content=$mainClassObj->parseTopicList($content); $content = str_replace("{newspagelist:typetext}",getTypeText($currentTypeId,1),$content); $content = str_replace("{duomicms:currenttypeid}",$currentTypeId,$content); break; case "parse_content_": $content=loadFile(duomi_ROOT.$templatePath); $content=$mainClassObj->parsePlayPageSpecial($content); $content=$mainClassObj->parseTopAndFoot($content); $content=$mainClassObj->parseSelf($content); $content=$mainClassObj->parseHistory($content); $content=$mainClassObj->parseGlobal($content); $content=$mainClassObj->parseMenuList($content,"",$currentTypeId); $content=$mainClassObj->parduomireaList($content); $content=$mainClassObj->parseVideoList($content,$currentTypeId); $content=$mainClassObj->parseTopicList($content); $content = str_replace("{duomicms:currenttypeid}",$currentTypeId,$content); break; case "parse_play_": $content=loadFile(duomi_ROOT.$templatePath); $content=$mainClassObj->parsePlayPageSpecial($content); $content=$mainClassObj->parseTopAndFoot($content); $content=$mainClassObj->parseSelf($content); $content=$mainClassObj->parseHistory($content); $content=$mainClassObj->parseGlobal($content); $content=$mainClassObj->parseMenuList($content,"",$currentTypeId); $content=$mainClassObj->parduomireaList($content); $content=$mainClassObj->parseVideoList($content,$currentTypeId); $content=$mainClassObj->parseTopicList($content); $content = str_replace("{duomicms:currenttypeid}",$currentTypeId,$content); break; case "topic": $content=loadFile(duomi_ROOT.$templatePath); $content=$mainClassObj->parseTopAndFoot($content); $content=$mainClassObj->parseSelf($content); $content=$mainClassObj->parseHistory($content); $content=$mainClassObj->parseGlobal($content); $content=$mainClassObj->parseMenuList($content,"",$currentTypeId); $content=$mainClassObj->parduomireaList($content); $content=$mainClassObj->parseVideoList($content,$currentTypeId); $content=$mainClassObj->parseTopicList($content); $content=$mainClassObj->parseLinkList($content); $content = str_replace("{duomicms:currenttypeid}",$currentTypeId,$content); break; case "parse_article_": $content=loadFile(duomi_ROOT.$templatePath); $content=$mainClassObj->parseTopAndFoot($content); $content=$mainClassObj->parseNewsPageSpecial($content); $content=$mainClassObj->parseSelf($content); $content=$mainClassObj->parseHistory($content); $content=$mainClassObj->parseGlobal($content); $content=$mainClassObj->parseMenuList($content,"",$currentTypeId); $content=$mainClassObj->parduomireaList($content); $content=$mainClassObj->parseNewsAreaList($content); $content=$mainClassObj->parseVideoList($content,$currentTypeId); $content=$mainClassObj->parseNewsList($content,$currentTypeId); $content=$mainClassObj->parseTopicList($content); $content=$mainClassObj->parseLinkList($content); $content = str_replace("{duomicms:currenttypeid}",$currentTypeId,$content); } return $content; } function automakeCustomInfo($templatename) { global $mainClassObj,$dsql,$customLink; $self_str="self_"; $pcount=0; $templatePath = "/duomiui/".$GLOBALS['cfg_df_style']."/".$GLOBALS['cfg_df_html']."/".$templatename; $customLink="/".$GLOBALS['cfg_cmspath'].str_replace(".html","",str_replace("#", "/", str_replace($self_str,"",$templatename)))."<page>.html"; $content=loadFile(duomi_ROOT.$templatePath); if(strpos($content, "{/duomicms:customvideolist}")>0){ $pSize = getPageSizeOnCache($templatePath,"customvideo",$templatename); if (empty($pSize)) $pSize=12; $sql="select count(*) as dd from duomi_data where v_recycled=0"; $row = $dsql->GetOne($sql); if(is_array($row)) { $TotalResult = $row['dd']; } else { $TotalResult = 0; } $pCount = ceil($TotalResult/$pSize); } $content=$mainClassObj->parseTopAndFoot($content); $content=$mainClassObj->parseSelf($content); $content=$mainClassObj->parseHistory($content); $content=$mainClassObj->parseGlobal($content); $content=$mainClassObj->parseMenuList($content,"",$currentTypeId); $content=$mainClassObj->parduomireaList($content); $content=$mainClassObj->parseNewsAreaList($content); $content=$mainClassObj->parseVideoList($content,$currentTypeId); $content=$mainClassObj->parseNewsList($content,$currentTypeId); $content=$mainClassObj->parseTopicList($content); $content=$mainClassObj->parseLinkList($content); $content=replaceCurrentTypeId($content,-444); $content=$mainClassObj->parseIf($content); $content=str_replace("{duomicms:runinfo}","",$content); $content=str_replace("{duomicms:member}",front_member(),$content); if(strpos($content, "{/customvideolist}")===false)$pcount=1; for($i=1;$i<=100;$i++) { $tmp=$content; $tmp=str_replace("{customvideo:page}", $i, str_replace("{customvideopage:page}",$i,$tmp)); $tmp=$mainClassObj->parsePageList($tmp, 0, $i, $pCount,$TotalResult, "customvideo"); $link=getCustomLink($i); $dir=str_replace($GLOBALS['cfg_cmspath'],'',$link); createTextFile ($tmp,duomi_ROOT.$dir); if($i>=$pCount)break; } } function autocache_clear($dir) { $dh=@opendir($dir); while ($file=@readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(is_file($fullpath)) { @unlink($fullpath); } } } closedir($dh); } function automakeallcustom() { global $cfg_basedir,$cfg_df_style,$cfg_df_html; $templetdird = $cfg_basedir."duomiui/".$cfg_df_style."/".$cfg_df_html."/"; $dh = dir($templetdird); while($filename=$dh->read()) { if(strpos($filename,"elf_")>0) automakeCustomInfo($filename); } } ?>